どうすれば検索結果の説明欄を複数の言語に対応出来そうなのか調べる - <meta name="description">
調べたいこと
同じドメインで、複数の言語に対応した検索結果の説明文をどのように出しているかを知りたい。
調べた結果
「ようつべ」でググると日本語の説明欄の結果がヒットした。
(アカウントとかの言語設定とか色々と関係してると思うので誰でも再現的にできるとは限らないと思う。)
以下の画像は説明欄が日本語であることと、リンクにホバーした時に「」に向かっていることを示している。 https://gyazo.com/8f96c08923023374dac207f48416612d
「youtube」でググって以下の検索結果を得た。
同じ検索キーワードで上記と同様再現的に同じ結果を得られるとは限らないと思う。
以下の画像は説明欄が英語であることと、リンクにホバーした時に「」に向かっていることを示している。 https://gyazo.com/762233154a40579b6ba1e8aae17a618c
上記のHTMLを読む
一般に検索結果の説明欄の文章は<meta name="description" content="...">の...の部分が使われる。
英語版だと<meta ...>は以下のようになっていた。ちゃんと英語。
https://gyazo.com/a5abdbf91b1a9b27a7cfa5dc0e923dff
日本語版だと以下のようになっていた。ちゃんと日本語。
https://gyazo.com/d84d22b317ce309380e27259b128af16
検索結果と上記の<meta ...>から推測するに、YouTubeのWebサーバーは?hl=...などのクエリパラメータを元に各言語に適した<meta ...>を生成していそう。 JavaScriptで動的に<meta name="description" content="...">を生成しても検索結果に反映してくれるかは謎。 本当はnavigator.languageあたりを使ってJavaScriptでユーザーの言語を判別してページの言語を決めたいことがあるので、サーバーサイドでHTMLを生成せずに出来るのであればありがたい。 <html lang="...">もWebサーバーで同時に適切に出力するようにすべきだと思う。